User loginNavigation |
Abstract Interface Types in GNAT: Conversions, Discriminants, and C++Abstract Interface Types in GNAT: Conversions, Discriminants, and C++. Javier Miranda and Edmond Schonberg.
The addition of interface types, of the type found in Java, to Ada2005 presented compiler writers with an implementation challenge. This is a third paper in a series describing the implementation of interfaces in the GNAT Ada compiler (an earlier paper dealt with synchronized interfaces, an interesting special case). The present paper deals mainly with issues caused by interface type conversions, and the related data layout issues. Of special interest is section 6 which shows how to write a C++/Ada multi-language program, in which method calls can be dispatched across language boundaries. Handling the multiple inheritance in the C++ code in this example is possible because the base classes have only pure virtual functions. By Ehud Lamm at 2007-04-14 15:52 | Cross language runtimes | Implementation | OOP | login or register to post comments | other blogs | 8094 reads
PCF and LCF
The theory LCF, for Logic of Computable Functions, was proposed by Dana Scott as a theory in the spirit of Church's simple theory of types which allows the computable functions to be characterised, and which comes with a rich enough logical theory to be analytically useful.
PCF, the Programming with Computable Functions toy language, was proposed by Robin Milner in an exposition of Scott's work on LCF. The two formalisms have been enormously fruitful in theoretical computer science, and I've noticed that two of the early seminal papers are available as scanned PDFs:
Dana Scott's original 1969 manuscript, A theory of computable functions of higher type was, I believe, only ever circulated informally, and I've never got hold of the manuscript in any form. A Logic for Parametric PolymorphismA Logic for Parametric Polymorphism, Gordon Plotkin and MartÃn Abadi.
By neelk at 2007-04-13 22:27 | Category Theory | Lambda Calculus | Semantics | Theory | login or register to post comments | other blogs | 7868 reads
HOPL-III: The Development of the Emerald Programming LanguageAnother draft entry for HOPL-III about the The Development of the Emerald Programming Language by Andrew P. Black, Norman Hutchinson, Eric Jul and Henry M. Levy.
Worth a read for those interested in PL research topics which are still in play. Emerald explored a number of topics including distributed programming in the presence of failure; Mobile objects; Active objects; structural typing (as opposed to nominal); Static typing in the presence of open programming (shades of the ongoing work in Alice ML); Parametirized types. All of this while having performance as a top priority. By Chris Rathman at 2007-04-13 03:42 | History | login or register to post comments | other blogs | 10404 reads
The Structure and Value of Modularity in Software DesignThe Structure and Value of Modularity in Software Design, K.J. Sullivan, W.G. Griswold, Y. Cai, B. Hallen.
This is really neat stuff; the authors use options theory to estimate the added value of a modular design relative to a less-modular design. It's always nice when an informal engineering intuition can be analyzed more precisely. RZ: a tool for bringing constructive and computable mathematics closer to programming practiceRZ: a tool for bringing constructive and computable mathematics closer to programming practice, Chris Stone and Andrej Bauer.
Realizability is a way of formalizing the constructive interpretation of logical formulas (eg, the BHK interpretation). Constructively, a proof of an implication By neelk at 2007-04-10 22:57 | DSL | Lambda Calculus | Semantics | 3 comments | other blogs | 6868 reads
A Temporal Logic Language for Context Awareness in PointcutsA paper by Charlotte Herzeel, Kris Gybels, Pascal Costanza presented at ILC2007.
Charlotte Herzeel presented this at ILC with a flashy web-shop application built on Edi Weitz's standard tools of the web trade. The example takes the basic web-shop and uses aspects to add a lot of funky rules about promotion and discounts based on stock levels, what's selling well, what the user has been browsing, etc, and makes sure the discounts are honoured at the checkout. The focus on adding new and interesting functionality with aspects is refreshing. So is the basis in a powerful language like Lisp. The weakness of most aspect-oriented programming examples in my eyes is that they appear to be working around artificial problems caused by stubbornly using a base language that's ill-suited to the task. That only plays well with the audiences who are also stubbornly using those base languages for ill-suited tasks :-) CforallCforall is a language design extending ISO C.
By Jim Apple at 2007-04-07 20:11 | Implementation | Type Theory | 11 comments | other blogs | 10893 reads
YesnoYesno: the other side ot the Gödelian coin
Putting functional database theory into practice: NixOS
Here are links to:
I found this an extremely readable thesis, light on math but high on insight. I now have an entirely new way of thinking about components and the filesystem, and that's really cool. I'd be very interested in hearing what people with serious deployment/sysadmin experience think about this approach. (Thanks to Gavin Mendel-Gleason and Martin Bravenboer for posting the original links in the discussions page!) By neelk at 2007-04-05 23:38 | DSL | Implementation | Software Engineering | 2 comments | other blogs | 17755 reads
|
Browse archives
Active forum topics |
Recent comments
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 3 days ago
3 weeks 4 days ago
3 weeks 4 days ago
6 weeks 4 days ago
7 weeks 3 days ago
7 weeks 3 days ago